home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 201-225 / disk_201 / draco / src / oneline.d < prev    next >
Text File  |  1992-05-06  |  760b  |  38 lines

  1. #drinc:libraries/dos.g
  2. #drinc:util.g
  3.  
  4. uint BUFFER_SIZE = 1000;
  5.  
  6. proc main()void:
  7.     [BUFFER_SIZE] char buffer;
  8.     register *char p, q;
  9.     register ulong len;
  10.     register Handle_t stdin, stdout;
  11.  
  12.     if OpenDosLibrary(0) ~= nil then
  13.     stdin := Input();
  14.     stdout := Output();
  15.     while
  16.         len := Read(stdin, &buffer[0], BUFFER_SIZE);
  17.         len ~= 0
  18.     do
  19.         p := &buffer[0];
  20.         q := &buffer[len];
  21.         while p ~= q do
  22.         if p* = '\n' then
  23.             BlockCopy(p, p + sizeof(char), (q - p - 1) / sizeof(char));
  24.             len := len - sizeof(char);
  25.             q := q - sizeof(char);
  26.         else
  27.             p := p + sizeof(char);
  28.         fi;
  29.         od;
  30.         if len ~= 0 then
  31.         ignore Write(stdout, &buffer[0], len);
  32.         fi;
  33.     od;
  34.     ignore Write(stdout, "\n", 1);
  35.     CloseDosLibrary();
  36.     fi;
  37. corp;
  38.